/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.quality4spl.fm.cvm;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Config Decision</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#getInclusionCriterion <em>Inclusion Criterion</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#getIncludedFeatures <em>Included Features</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#getExcludedFeatures <em>Excluded Features</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#getPersonInCharge <em>Person In Charge</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#getRationale <em>Rationale</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.ConfigDecision#isEquivalence <em>Equivalence</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision()
 * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='LegalInclusionCriterion LegalInclExclFeatures'"
 * @generated
 */
public interface ConfigDecision extends ConfigDecisionModelEntry {
	/**
	 * Returns the value of the '<em><b>Inclusion Criterion</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Inclusion Criterion</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Inclusion Criterion</em>' attribute.
	 * @see #setInclusionCriterion(String)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_InclusionCriterion()
	 * @model
	 * @generated
	 */
	String getInclusionCriterion();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#getInclusionCriterion <em>Inclusion Criterion</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Inclusion Criterion</em>' attribute.
	 * @see #getInclusionCriterion()
	 * @generated
	 */
	void setInclusionCriterion(String value);

	/**
	 * Returns the value of the '<em><b>Included Features</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Included Features</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Included Features</em>' attribute.
	 * @see #setIncludedFeatures(String)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_IncludedFeatures()
	 * @model
	 * @generated
	 */
	String getIncludedFeatures();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#getIncludedFeatures <em>Included Features</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Included Features</em>' attribute.
	 * @see #getIncludedFeatures()
	 * @generated
	 */
	void setIncludedFeatures(String value);

	/**
	 * Returns the value of the '<em><b>Excluded Features</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Excluded Features</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Excluded Features</em>' attribute.
	 * @see #setExcludedFeatures(String)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_ExcludedFeatures()
	 * @model
	 * @generated
	 */
	String getExcludedFeatures();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#getExcludedFeatures <em>Excluded Features</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Excluded Features</em>' attribute.
	 * @see #getExcludedFeatures()
	 * @generated
	 */
	void setExcludedFeatures(String value);

	/**
	 * Returns the value of the '<em><b>Person In Charge</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Person In Charge</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Person In Charge</em>' attribute.
	 * @see #setPersonInCharge(String)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_PersonInCharge()
	 * @model
	 * @generated
	 */
	String getPersonInCharge();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#getPersonInCharge <em>Person In Charge</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Person In Charge</em>' attribute.
	 * @see #getPersonInCharge()
	 * @generated
	 */
	void setPersonInCharge(String value);

	/**
	 * Returns the value of the '<em><b>Rationale</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Rationale</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Rationale</em>' attribute.
	 * @see #setRationale(String)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_Rationale()
	 * @model
	 * @generated
	 */
	String getRationale();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#getRationale <em>Rationale</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Rationale</em>' attribute.
	 * @see #getRationale()
	 * @generated
	 */
	void setRationale(String value);

	/**
	 * Returns the value of the '<em><b>Equivalence</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Equivalence</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Equivalence</em>' attribute.
	 * @see #setEquivalence(boolean)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getConfigDecision_Equivalence()
	 * @model
	 * @generated
	 */
	boolean isEquivalence();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.ConfigDecision#isEquivalence <em>Equivalence</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Equivalence</em>' attribute.
	 * @see #isEquivalence()
	 * @generated
	 */
	void setEquivalence(boolean value);

} // ConfigDecision
